---
title: Enable a prover
description: This guide will you help you enable your Taiko node as a prover.
---

import { Aside, Card, CardGrid, Steps } from "@astrojs/starlight/components";

## Prerequisites

- You are already running a Taiko node [with Docker](/guides/node-operators/run-a-taiko-alethia-node-with-docker) or [from source](/guides/node-operators/build-a-taiko-alethia-node-from-source).
- You have an [SGX v2 capable machine](https://github.com/ayeks/SGX-hardware#hardware-with-sgx2-support).

## Enable a prover with simple-taiko-node

<Aside>
  These are the bare minimum required settings along with a functional Taiko
  node to run a prover, feel free to customize the rest of the variables in the
  `.env` file as you see fit!
</Aside>

<Steps>

1. A Taiko prover needs to be able to generate SGX proofs at the moment. To do that, you need to run raiko. Please follow the Docker setup guide [here](https://github.com/taikoxyz/raiko/blob/main/docs/README_Docker_and_RA.md).

2. After successfully setting up raiko, set the `SGX_RAIKO_HOST` endpoint in your `.env` file.

3. Set the `L1_PROVER_PRIVATE_KEY` to an L1 account's private key which will send the Prove Block transactions.

4. Finally set `ENABLE_PROVER` to `true` in simple-taiko-node `.env`.

5. Set `COMPOSE_PROFILES=prover` or add prover to the list.

6. You can then run your prover with `docker compose up -d`!

</Steps>

<Aside>
  For Step 6, please use `docker compose -f docker-compose-hoodi.yml up -d` if
  you are running on Taiko Hoodi.
</Aside>

Please find all relevant bond, cooldown, and proving window information [here](/network-reference/network-configuration/#cooldown-window-proving-window-and-bonds).

### Approve TaikoInbox as TAIKO spender (Taiko Alethia)

<Steps>

1. Approve the TaikoInbox contract as a spender.

   Visit the TAIKO contract on Ethereum [here](https://etherscan.io/address/0x10dea67478c5f8c5e2d90e5e9b26dbe60c54d800#writeProxyContract).

2. Click the **Connect to Web3** button.

3. Click the **approve** function and set the spender address to the TaikoInbox contract address: `0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a`.

   <Aside>
     Please verify [contract addresses](/network-reference/contract-addresses)
     are correct before moving forward. You can check the respective ENS domains
     on Etherscan.
   </Aside>

4. Set the amount to at least the minimum bond amount of 125 TAIKO.

   You will need at least 125 TAIKO for the `livenessBond`. After entering 125, you need to set the 18 decimals that the TAIKO contract takes, you can click the plus button and then select 10^18.

   If you have bonded TAIKO in the TaikoInbox contract, it will be used first before more is taken from your allowance.

   For an explanation on bonds, please refer to the terminology section [here](/resources/terminology).

5. Finally, click the **Write** button.

</Steps>

### Approve TaikoInbox as TTKOh spender (Taiko Hoodi)

You will need TTKOh deposited on the TaikoInbox contract to secure the bond for the proofs you generate.

<Steps>

1. Approve the TaikoInbox contract as a spender.

   Visit the TTKOh contract on Hoodi [here](https://hoodi.etherscan.io/address/0xf3b83e226202ECf7E7bb2419a4C6e3eC99e963DA#writeProxyContract).

2. Click the **Connect to Web3** button.

3. Click the **approve** function and set the spender address to the TaikoInbox contract address: `0xf6eA848c7d7aC83de84db45Ae28EAbf377fe0eF9`.

4. Set the amount to at least the minimum bond amount of 125 TTKOh.

   You will need at least 125 TTKOh for the `livenessBond`. After entering 125, you need to set the 18 decimals that the TAIKO contract takes, you can click the plus button and then select 10^18.

   If you have bonded TTKOh in the TaikoInbox contract, it will be used first before more is taken from your allowance.

   For an explanation of the difference between these bonds, please refer to the terminology section [here](/resources/terminology).

5. Finally, click the **Write** button.

</Steps>

<Card title="Troubleshooting" icon="error">
  If you run into any problems, please visit the [node troubleshooting
  page](/guides/node-operators/node-troubleshooting) for help. If you run into
  an error that isn't yet listed, please reach out in our
  [Discord](https://discord.com/invite/taikoxyz)!
</Card>
